Visual imagery commonly can be classified as either a static image (e.g., photograph, painting, etc.) or dynamic imagery (e.g., video, animation, etc.). A static image captures a single instant in time. For instance, a static photograph often derives its power by what is implied beyond its spatial and temporal boundaries (e.g., outside the frame and in moments before and after the photograph was taken). Typically, a viewer's imagination can fill in what is left out of the static image (e.g., spatially and/or temporally). In contrast, video loses some of that power; yet, by being dynamic, video can provide an unfolding temporal narrative through time.
Differing types of short videos can be created from an input video. The input video can be any video of any length, or a portion of a longer video. It can even be short video clip itself or short burst of images (e.g., 12 images captured at 10 frames per second). Examples of the short videos that can be created include cinemagraphs, which selectively freeze, play, and loop video regions to achieve compelling effects. The contrasting juxtaposition of looping elements against a still background can help grab the attention of a viewer. For instance, cinemagraphs can commonly combine static scenes with small repeating movements (e.g., a hair wisp blowing in the wind); thus, some motion and narrative can be captured in a cinemagraph. In a cinemagraph, the dynamic element is commonly looping in a sequence of frames.
Various techniques are conventionally employed to create video loops that look natural or visually pleasing. For example, some approaches define video textures by locating pairs of similar video frames to create a sparse transition graph. A stochastic traversal of this graph can generate non-repeating video; however, finding compatible frames may be difficult for scenes with many independently moving elements when employing such techniques. Other traditional approaches for creating video loops synthesize videos using a Markov Random Field (MRF) model. Such approaches can successively merge video patches offset in space and/or time, and determine an optimal merging scene using a binary graph cut. Introducing constraints can allow for creation of video loops with a specified global period. Other conventional techniques attempt to create panoramic video textures from a panning video sequence. Accordingly, a user can select a static background layer image and can draw masks to identify dynamic regions. For each region, a natural periodicity can be automatically determined. Then a 3D MRF model can be solved using a multi-label graph cut on a 3D grid. Still other techniques attempt to create panoramic stereo video textures by blending the overlapping video in the space-time volume.
Various approaches for interactive authoring of cinemagraphs have been developed. For example, regions of motion in a video can be automatically isolated. Moreover, a user can select which regions to make looping and which reference frame to use for each region. Looping can be achieved by finding matching frames or regions. Some conventional techniques for creating cinemagraphs can selectively stabilize motions in video. Accordingly, a user can sketch differing types of strokes to indicate regions to be made static, immobilized, or fully dynamic, where the strokes can be propagated across video frames using optical flow. The video can further be warped for stabilization and a 3D MRF problem can be solved to seamlessly merge the video with static content. Other recent techniques provide a set of idioms (e.g., static, play, loop and mirror loop) to allow a user to combine several spatiotemporal segments from a source video. These segments can be stabilized and composited together to emphasize scene elements or to form a narrative.